当前位置: 首页> 函数类别大全> call_user_func

call_user_func

把第一个参数作为回调函数调用
名称:call_user_func
分类:函数处理
所属语言:php
一句话介绍: 把第一个参数作为回调函数调用

PHP 函数:call_user_func

函数名

call_user_func

适用 PHP 版本

自 PHP 4 起支持,至今仍在 PHP 8 中可用。

函数说明

call_user_func 函数调用回调函数,用户可以以字符串或数组的形式传递函数名或类的方法名进行调用。该函数通常用于需要动态调用函数名的场景,例如回调、插件机制等。

函数语法

mixed call_user_func(callable $callback, mixed ...$args)

参数

  • $callback:要调用的回调函数。这可以是字符串形式的函数名、对象的方法(如 [$object, 'method'])、类静态方法(如 ['ClassName', 'method'])或匿名函数。
  • $args(可选):传递给回调函数的参数,可以有多个。

返回值

返回被调用函数的返回值。

示例

  <?php
  function sayHello($name) {
      return "Hello, $name!";
  }
<p>echo call_user_func('sayHello', 'Alice');</p>
<p>// 调用类的静态方法<br>
class MyClass {<br>
public static function greet($msg) {<br>
return "Message: $msg";<br>
}<br>
}</p>
<p>echo call_user_func(['MyClass', 'greet'], 'Welcome');</p>
<p>// 调用对象的方法<br>
class Person {<br>
public function introduce($name) {<br>
return "Hi, I am $name.";<br>
}<br>
}</p>
<p>$p = new Person();<br>
echo call_user_func([$p, 'introduce'], 'Bob');<br>
?><br>

示例代码的说明

  • 第一个示例中,直接调用了一个普通函数 sayHello 并传入参数。
  • 第二个示例中,使用类名和方法名的数组调用了静态方法 greet
  • 第三个示例中,创建了对象 $p 并调用了其实例方法 introduce
同类函数
热门文章